home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / text / docs / kickwom.lha / 512KWOM / WOM-Expansion-Anleitung < prev    next >
Text File  |  1992-08-18  |  27KB  |  515 lines

  1.  
  2. /*************************************************************************/
  3. /*                                                                       */
  4. /*                 WOM-Expansion für Amiga 1000                          */
  5. /*                (512KByte Kickstarts im A1000)                         */
  6. /*                                                                       */
  7. /*                Eine Bauanleitung von Jörg Huth                        */
  8. /*                                                                       */
  9. /*************************************************************************/
  10.  
  11.  
  12. Mit der Entwicklung der Kickstart2.0 und dem Aufkommen von
  13. Kickstart-Umschaltplatinen für den A500/A2000 fragt sich natürlich auch der
  14. A1000 Besitzer, wie er in den Genuß von Kick 2.0 kommen könnte. Zwar gibt
  15. es Software-Lösungen (kickit u.ä), doch daß dies sicher nicht der Weisheit
  16. letzter Schluß ist, bekommt der User, wenn nicht schon bei einem Reset, 
  17. spätestens nach einem etwas härtern Absturz zu spüren.
  18.  
  19. Aber auch die Eprom- bzw. Rom-Lösungen haben ihre Nachteile. Kommt ein
  20. neues Kickstart-Release, so muß man die Eproms komplett löschen und neu
  21. programmieren. Die Roms bleiben davon verschont, die kann man nämlich
  22. gleich wegwerfen. Hat man dann aber Eproms und diese auch glücklich neu
  23. programmiert, kann sich natürlich herausstellen, daß das neue Release
  24. vielleicht doch nicht so empfehlenswert ist, weil das teuer gekaufte
  25. CAD-Programm oder die Software für die Platte nicht mehr so richtig will.
  26.  
  27. Bisher stand der 1000'er User über diesen Dingen. Er konnte nach
  28. Herzenslust alle möglichen Kickstartversionen fahren und sich bei Bedarf
  29. auch seine ganz persönliche Kick zusammenpatchen. Ging der Patch in die
  30. Hose: Macht nichts; Diskmon rein und nochmal probieren.
  31.  
  32. Und genau so sollte es auch mit der Kick 2.0 gehen. Doch leider ist das WOM
  33. des A1000 nur 256KByte groß, Kick 2.0 aber 512KByte lang.
  34.  
  35. Egal! Für unter 70 Märker läßt sich der A1000 so umrüsten, daß nach dem
  36. Einschalten neben normalen 256KByte Kicks (also 1.0-1.3) auch eine 512KByte
  37. lange Kickstart-Diskette eingeschoben wird. Der Amiga verhält sich dabei
  38. ganz genau wie sonst, nur daß die Kickstart jetzt eben evtl. doppelt so
  39. lang ist ($f80000-$ffffff anstatt $fc0000-$ffffff).
  40.  
  41.  
  42. Was man alles braucht:
  43. ----------------------
  44.  
  45.  1) 8 Stück: Speicherchips 41464 (120ns)
  46.  2) 2 Stück: Eproms 27C256 (120ns)
  47.             (Ersetzen die alten BootRoms im A1000)
  48.  3) 1 Stück: 74LS32
  49.  4) 1 Stück: 74LS74
  50.  5) 1 Stück: 74F86
  51.  6) 2 Stück: 74F138
  52.  7) 8 Stück: Widerstände 39 Ohm (1/4 Watt)
  53.  8) 1 Stück: Widerstand 1 kOhm (1/4 Watt)
  54.  9) 1 Stück: Leuchtdiode (3mm, gelb - die Farbe betrachte man als befohlen!)
  55. 10) 1 Stück: Schalter (1*UM)
  56. 11) 5 Stück: Abblockkondensatoren (0.1 MyFarad, keramisch)
  57. 12) 1 Stück: Elko 47 MyFarad / 16 Volt
  58. 13) Sockel für die 74'er nach Bedarf, ein Stück Lochrasterplatine, etwas
  59.     Schaltlitze
  60. 14) Software (Inhalt für die Eproms) der neuen BootRoms
  61.  
  62.  
  63. Die Funktionsweise:
  64. ------------------- 
  65.  
  66. Das WOM des A1000 liegt im Adressbereich von $fc0000 bis $ffffff. Kick 2.0
  67. liegt aber im Bereich von $f80000 bis $ffffff (dies ist übrigens auch im
  68. A3000 so). Es fehlt also der Bereich von $f80000 bis $fbffff (genau
  69. 256KByte). Sieht man sich mittels eines Monitors an, was normal in diesem
  70. Bereich liegt, so findet man eine Kopie des Bereichs von $fc0000-$ffffff.
  71. Dies ist eigentlich nicht verwunderlich, im Schaltplan des
  72. A1000 erkennt man, daß zur Auskodierung der WOM-Adresse nur A17, nicht
  73. aber A18 benutzt wird. Wenn man nun auf die schon vorhandenen WOM-RAMs (8
  74. Speicherchips (U2J-U1M auf dem Mainboard) von Typ 41464) nochmals 8 Chips
  75. - im Huckepackverfahren - vom gleichen Typ auflötet, die Chip-Select Leitungen
  76. der neuen Chips jedoch abbiegt (also nicht mit den Beinchen der alten Chips
  77. verlötet) und das ganze so ansteuert, daß jetzt auch A18 auskodiert wird,
  78. so hat man einen durchgängigen WOM-Bereich von $f80000 bis $ffffff.
  79.  
  80. Doch leider stehen dem einige Probleme entgegen, auf die ich im folgenden
  81. eingehen will:
  82.  
  83. Zunächst zur Adressdekodierung, die nun auch mittels A18 erfolgen soll. Im
  84. A1000 wird das WOM über einen F139 auskodiert (2 Stück: 2 zu 4 Dekodierer).
  85. Dieser hat zur Auskodierung von A18 aber keine Eingänge mehr frei. Deshalb
  86. verwendet meine Schaltung zwei 74F138 (3 zu 8 Dekodierer). Der F139 auf dem
  87. Motherboard muß nun aber freilich stillgelegt werden. Dies geht am
  88. einfachsten, indem die vier 39 Ohm-Widerstände (R112-R119) abgeknipst
  89. werden.
  90.  
  91. Damit ist der untere Teil der Schaltung beschrieben. Doch wofür ist nun der
  92. obere Teil? Dazu zunächst einige Erläuterungen, was im A1000 nach dem RESET
  93. passiert:
  94.  
  95. Nach einem RESET schaut der 68000 in Adresse 4 nach, wohin er springen
  96. soll. Da ab Adresse 0 in der Regel aber RAM liegt und nach dem Einschalten
  97. des Rechners hier keine vernünftigen Werte erwartet werden können, blendet
  98. der Amiga ab Adresse 0 seine BootRoms ein, die normalerweise ab
  99. Adresse $f80000 liegen (hoppla, hier liegt doch auch der neue WOM-Speicher
  100. !!! Doch dazu später mehr). Zum Einblenden der BootRoms nach Adresse 0 ist
  101. eine I/O-Leitung eines 8520 zuständig (CIAA PRA Bit 0). Nach einem RESET
  102. wird diese Leitung auf High gesetzt und dies bewirkt die Einblendung des
  103. BootRoms. Über den Zeiger in Adresse 4 wird dann sofort in die
  104. Originaladresse der BootRoms gesprungen und dort wird dann das
  105. OVL-Bit auf Null gesetzt, womit die Einblendung verschwindet und alles
  106. wieder beim alten ist.
  107.  
  108. Nach einigen Testroutinen überprüft das BootRom nun die Checksum des
  109. WOM-Bereichs. Ist die Checksum (muß $ffffffff sein) in Ordnung, so gehen die
  110. BootRoms davon aus, daß schon eine Kickstart geladen wurde. Daraufhin wird
  111. der Schreibschutz-Mechanismus für das WOM aktiviert und die Kickstart
  112. gestartet. Ist die Checksum nicht in Ordnung, so wird über DF0: eine
  113. Kickstart eingelesen, anschließend dann der Schreibschutz-Mechanismus
  114. aktiviert und die geladene Kickstart gestartet.
  115.  
  116. Und genau bei der Schreibschutz-Aktivierung liegt der Knackpunkt:
  117. Ausgelöst wird er durch einen beliebigen Schreibzugriff auf den Bereich
  118. $f80000-$fbffff. Doch wie soll man dann den neuen WOM-Bereich überhaupt mit
  119. der Kickstart beschreiben, wenn doch der erste Schreibzugriff den Bereich
  120. sofort gegen weiter Schreibzugriffe sperrt? Ein anderes Argument kommt noch
  121. hinzu:
  122.  
  123. In dem neuen Bereich von $f80000-$fbffff liegen doch auch die Boot-Roms.
  124. Wie soll man also überhaupt darauf zugreifen?
  125.  
  126. Die Lösung ist eigentlich relativ einfach: Zunächst einmal werden mit der
  127. Schreibschutz-Aktivierung des WOMs auch die BootRoms abgeschaltet. D.h. der
  128. Adressbereich von $f80000-$fbffff steht wieder zu Verfügung (im Normalbetrieb
  129. des A1000 befindet sich hier ja der gespiegelte WOM-Bereich $fc0000-$ffffff).
  130.  
  131. Das die BootRoms durch neue ersetzt werden müssen, dürfte mittlerweile
  132. schon klar geworden sein, schließlich müssen ja 512KByte von Disk eingelesen
  133. werden und auch die Checksumme ist über einen größeren Bereich zu
  134. ermitteln. Außerdem müssen die neuen BootRoms wahlweise mit 512KByte Kicks
  135. oder 256KByte Kicks umgehen. Um von den BootRoms aus jetzt auf den neuen
  136. WOM-Bereich zugreifen zu können, verwendet meine Schaltung eine kleine
  137. Logik, mit der die Adressbereiche von $f80000-$fbffff und $fc0000-$ffffff
  138. miteinander vertauscht werden können. D.h. der Bereich ab $f80000 läßt sich
  139. nach Vertauschung über den Adressbereich ab $fc0000 ansprechen. Soll auf
  140. den Originalbereich ab $fc0000 zugegriffen werden, so muß die Vertauschung
  141. eben wieder rückgängig gemacht werden.
  142.  
  143. Die Vertauschung an sich ist relativ einfach. Man muß nur die Adresse A18
  144. entweder invertieren oder normal zu den Dekodern F138
  145. durchschalten. Zur Steuerung der Vertauschung habe ich eine I/O-Leitung
  146. verwendet, die eigentlich zur Steuerung der Power-LED vorgesehen ist.
  147. Natürlich bleibt die LED weiter angeschlossen (wollte ich vorsichtshalber
  148. noch einmal erwähnen). Jetzt muß eigentlich nur noch sichergestellt
  149. werden, daß die Vertauschung nach dem Abschalten des BootRoms nicht mehr 
  150. funktioniert, sonst würde jedes Programm, das die LED umschaltet, den
  151. Rechner zu Absturz bringen, weil es die Adressbereiche $f80000 und $fc0000
  152. vertauschen würde.
  153.  
  154. Zu diesem Zweck dient das D-Latch 74LS74. Nach einem RESET führt der
  155. Ausgang (Q) einen Low-Pegel. Damit kann das LED-Bit von CIAA den Ausgang
  156. des Oder-Gatters (74LS32) bestimmen. Ist der Ausgang High, so wird im XOR
  157. (74F86) die Adress-Leitung A18 invertiert. Bei einem Low am LED-Bit dagegen
  158. wird A18 unverändert durchgeschaltet. Kurz bevor sich die BootRoms
  159. abschalten, erzeugen sie am OVL-Bit (CIAA PRA Bit 0) nochmals eine 0-1-0
  160. Flanke, wodurch das D-Latch LS74 ihren Ausgang bis zum nächsten RESET auf
  161. High schaltet. Damit ist eine Umschaltung der Adressbereiche über den
  162. LED-Pin nicht mehr möglich.
  163. Genau genommen wird jetzt A18 über das XOR-Gatter ständig invertiert. Die
  164. RAMs sind jedoch so an den Dekodern (F138) angeschlossen, daß dies gerade
  165. wieder aufgehoben wird. Mit den neuen BootRoms ist die Schaltung also
  166. vollkommen zum alten A1000 kompatibel. Nur der Adressbereich von $fc0000
  167. bis $ffffff ist nicht mehr gespiegelt, sondern ab $f80000 liegt nun evtl.
  168. (256KByte Kick geladen) uninitialisierter Speicher. Aber dies sollte kein
  169. Programm stören, und trotz Murphy ist mir bisher auch kein solches Programm
  170. bekannt.
  171.  
  172. Probleme treten nur auf, wenn die Schaltung in Verbindung mit den originalen
  173. BootRoms verwendet wird, da diese das D-Latch nicht aktivieren. Somit würde
  174. jeder Zugriff auf die LED-I/O-Leitung das System zum Absturz bringen.
  175. Vorsorglich läßt sich dies über den Umschalter aber unterbinden. Steht der
  176. Schalter in Stellung 'Original', so sind die Adressbereiche nicht
  177. umschaltbar, und es können die alten BootRoms verwendet werden. 
  178.  
  179. Da die neuen BootRoms die alten aber vollständig ersetzen, ist der Schalter
  180. eigentlich unnötig. Er ist höchstes sinnvoll, wenn man die Eproms mit dem
  181. eigenen Rechner mal umprogrammieren (oder auslesen) will, da man dann in
  182. den Rechner die alten BootRoms wieder einsetzen muß (die Eproms stecken ja
  183. jetzt im Epromer).
  184.  
  185.  
  186. Die neuen BootRoms:
  187. ------------------- 
  188.  
  189. Ich habe die BootRoms (U5N und U5S) durch zwei Eproms vom Typ 27C256 (120ns)
  190. ersetzt. Ob die Eproms auch langsamer als 120ns sein können, habe ich nicht
  191. ausprobiert. Mit 120ns Eproms ist man aber auf der sicheren Seite. Die
  192. Pinbelegung der 27C256 stimmt mit denen der BootRoms überein, sodaß sie
  193. einfach in die Sockel der BootRoms gesteckt werden können. Dabei muß aber
  194. der Pin 1 der Eproms abgebogen werden. Auf dem Sockel liegen hier +5 Volt
  195. an. Die Eproms erwarten hier ihre Programmierspannung, die im
  196. Normalbetrieb aber auf keinem Potential liegen sollte (Pin 1 der Eproms
  197. also abbiegen und in der Luft hängen lassen).
  198.  
  199. Die neuen BootRoms funktionieren auch, wenn die Schaltung überhaupt nicht
  200. vorhanden, oder über den Schalter ausgeschaltet ist. Die BootRoms weisen
  201. dann aber 512KByte Kickstart-Disketten mit dem Hinweis ab, daß mit dem
  202. Speicherbereich ab $f80000-$fbffff etwas nicht in Ordnung ist. 256KByte
  203. Kickstarts werden akzeptiert wie eh und je.
  204.  
  205. Allerdings kann man die Kickstart-Diskette jetzt auch in DF1: oder DF2:
  206. stecken. Das Schreckgespenst: 'DF0 ist defekt und der Rechner läßt sich
  207. nicht mehr hochfahren, um zu testen, was mit dem Laufwerk los ist' hat
  208. somit ein Ende. 
  209.  
  210. Die BootRoms testen zunächst, ob ein 512KByte Kick geladen ist (anhand der
  211. Checksumme und des Codes $11144ef9 an Adresse $f80000). Ist dies der Fall
  212. so wird die Kick direkt gestartet. Ist dies nicht der Fall, so wird auf
  213. eine 256KByte Kick geprüft (wieder anhand der Checksumme und des Codes
  214. $11114ef9 ab $fc0000). Ist auch dies erfolglos, so wird der User
  215. aufgefordert, eine Kickstart-Diskette einzulegen (DF0-DF2).
  216.  
  217.  
  218. Die Kickstart-Disketten:
  219. ------------------------  
  220.  
  221. Die neuen BootRoms unterstützen zwei verschiedene Formate von
  222. Kickstart-Disketten:
  223.  
  224. 1) Die normale 256KByte Kickstart-Diskette (d.h. 1.0-1.3)
  225.    In Block 0 steht zur Kennzeichnung der String 'KICK'.
  226.    Die Blöcke 1 bis 512 enthalten die Kickstart.
  227.    Dabei wird die Kickstart in den Bereich $fc0000-$ffffff geschrieben.
  228.    Als Kennzeichen steht bei $fc0000 der Code $11114ef9.
  229.    Die Checksumme beträgt $ffffffff.
  230.  
  231. 2) Die neue 512KByte Kickstart-Diskette (d.h. z.B. 2.0)
  232.    In Block 0 steht zur Kennzeichnung der String 'f8-KICK'
  233.    Die Blöcke 1 bis 1024 enthalten die Kickstart.
  234.    Die Kickstart wird dann in den Bereich $f80000-$ffffff geschrieben.
  235.    Als Kennzeichnung steht bei $f80000 der Code $11144ef9 (bei 2.0
  236.    automatisch der Fall) 
  237.    Die Checksumme muß auch hier $ffffffff betragen! Da dies normalerweise
  238.    nicht geprüft wird, kann es passieren, daß die Checksumme nicht stimmt.
  239.    Trotzdem wird die Kickstart z.B. in einem A2000 funktioniern (in Eproms
  240.    mit Umschalt-Platine). Evtl. muß die Checksum angepasst werden. Sonst
  241.    erkennt der A1000 die Kickstart nach einem RESET nicht mehr und fordert
  242.    zum Einlegen einer Kickstart-Diskette auf!
  243.    
  244.    Zum Erstellen einer 512KByte Kickstart-Diskette gibt's nachher noch ein
  245.    paar Tips. (Auf Kickstart 2.0 liegt ein Copyright von Commodore. Deshalb
  246.    darf es nicht einfach kopiert werden. Ich darf also keine
  247.    Kickstart-Diskette mit Kick 2.0 anbieten.) 
  248.  
  249.   
  250. Der Aufbau:
  251. -----------
  252.  
  253. Die üblichen Hinweise, daß die Schaltung nur von jemandem aufgebaut werden
  254. sollte, der auch weiß, an welcher Seite der Lötkolben heiß wird, spare ich
  255. mir hier. Zum Aufbau ist es sicher nicht erforderlich die Funktionsweise
  256. der Schaltung bis aufs letzte verstanden zu haben. Sie sollten aber selbst
  257. abschätzen, ob Sie sich an den Zusammenbau der Schaltung wagen können.
  258.  
  259. Auch der Hinweis auf einen Garantie-Verlust bei Öffnung des Rechners 
  260. entfällt, da es wohl kaum noch einen A1000 mit Garantie geben dürfte.
  261.  
  262. Vom A1000 gibt es zwei unterschiedliche Versionen. Bei der älteren ist das 
  263. WOM noch nicht in die Hauptplatine integriert, sondern sitzt auf einer 
  264. Backplane-Platine (Piggy-Board).
  265. Der Autor dieser Bauanleitung besitzt die neuere Version des A1000.
  266. Deshalb beziehen sich die IC-Angaben, sowohl im
  267. Schaltplan, wie in dieser Anleitung auf die Hauptplatine des 1000'er mit
  268. integriertem WOM. Die Referenzliste am Ende dieses Artikels soll den Lesern mit
  269. Piggy-Board das Finden der einzelnen IC's erleichtern.
  270.  
  271. Als erstes sollten Sie die Eproms programmieren. Dazu verwenden Sie die
  272. beiden Files BootRom_2.0.LByte und BootRom_2.0.UByte und programmieren die
  273. Eproms ab Adresse 0. Die Files füllen die Eproms übrigens nicht aus. Das 
  274. LByte-Eprom stecken Sie dann in den Sockel U5S (odd). Das UByte-Eprom in den
  275. Sockel U5N (even). Dabei müssen Sie jedesmal den Pin 1 der Eproms abbiegen
  276. und nicht mit in den Sockel stecken, also in der Luft hängen lassen.
  277.  
  278. Wenn bis hierher alles gut gegangen ist, so muß der Recher gang normal
  279. hochfahren. Insbesondere muß die Power-LED sofort anfangen zu blinken.
  280. Funktioniert der Rechern nicht mehr, so sind die Eproms defekt, falsch
  281. programmiert oder stecken falsch im Sockel.
  282.  
  283. Funktioniert alles, so können Sie weitermachen. Natürlich vorher wieder den
  284. Netzstecker ziehen, den Monitor abklemmen, sämtliche Erweiterungen abziehen
  285. usw.
  286.  
  287. Nun kommt der etwas härtere Teil. Bauen Sie jetzt die Schaltung nach dem
  288. Schaltplan auf. Ich empfehle dazu die Verwendung von einem Stück
  289. Lochrasterplatine. Dies geht bei den paar Chips sicherlich am 
  290. schnellsten. Wenn die Schaltung fertig ist, können Sie sie anlöten. Dabei
  291. die Versorgungsspannung (+5V und Masse) nicht vergessen. Achten Sie
  292. weiterhin darauf, die richtigen Signale zu verwenden. Sie benötigen z.B. 
  293. /UCEN und nicht UCEN (Der / steht für ein invertiertes Signal). Weiter
  294. braucht die Schaltung /LCEN und nicht LCEN, C1 anstatt /C1. Achten Sie auch 
  295. darauf, die Prozessoradresse A18 und nicht etwa MA18 zu verwenden, welche 
  296. man auf dem Motherboard vermutlich schneller findet. 
  297.  
  298. Haben Sie auch dies erledigt, so können Sie den Rechner wieder testen. Er
  299. sollte sich verhalten wie früher. Stimmt etwas nicht, so sollten Sie
  300. nochmals kontrollieren, ob Sie die richtigen Leitungen angeschlossen haben.
  301. Auch die Verdrahtung der Schaltung an sich kann nochmals kontrolliert
  302. werden. Steht der Schalter in Stellung Original, so muß die neue LED 
  303. ständig aus sein. In Stellung 'Neu' sollte die LED während des Bootens immer
  304. dann leuchten, wenn auch die Power-LED leuchtet. Nach dem Booten (Kickstart
  305. ist dann geladen) hat die LED wieder ständig aus zu sein, egal ob die
  306. Power-LED an oder aus ist. Bei jedem RESET muß die LED aber mit der
  307. Power-LED synchron blinken (ist ja Bootvorgang).
  308.  
  309. Nun können Sie die Widerstände R119-R122 durchknipsen und damit den F139 
  310. außer Betrieb setzen. Sie brauchen natürlich nur einen Anschluß zu durch-
  311. trennen. Wählen Sie dabei den Anschluß, der mit dem Pin 16 der RAMs verbunden
  312. ist. Die Widerstände bleiben somit an dem F139 und nicht an den RAMs hängen.
  313. Zur Not können die Widerstände dann wieder relativ einfach angelötet werden.
  314.  
  315. Löten Sie nun die Ausgänge der vier 39 Ohm Widerstände, die sich auf der
  316. Schaltung befinden und mit 'Original' bezeichnet sind, an die RAMs. Dabei 
  317. können Sie sinnvollerweise die abgeschnittenen Enden der Widerstände auf
  318. dem Motherboard verwenden. Jetzt kann wieder ein Test erfolgen. Der Amiga
  319. muß ganz normal hochfahren. Wenn Sie einen Monitor zur Hand haben, können
  320. Sie ja mal nachsehen, ob der Speicherbereich $fc0000-$ffffff ab $f80000
  321. noch gespiegelt ist. Er darf es nicht mehr sein! Steht ab $f80000
  322. ziemlicher Mist (eben ein nicht belegter Speicherbereich), so ist alles 
  323. in Ordnung.
  324.  
  325. Bereiten Sie nun die RAM-Chips zum Auflöten auf die Chips U2J-U1M des
  326. Motherboards vor: Die Pins leicht zusammendrücken, jeweils Pin 16
  327. abbiegen und diesen zur Hälfe abschneiden (da die RAMs nachher sehr nahe
  328. beieinander stehen und der abgebogene Pin sonst im Wege sein würde).
  329.  
  330. Beim Auflöten der Chips gehen Sie bitte äußerst sorgfältig vor. Auf der
  331. einen Seite sollte das Zinn schon ordentlich fließen - nicht damit sparen,
  332. sonst erhält man später schwierig zu lokalisierende Fehler, weil die RAMs dann
  333. evtl. keinen guten Kontakt haben. Auf der anderen Seite dürfen aber auch
  334. keine Kurzschlüsse zwischen den IC-Pins entstehen. Außerdem dürfen die RAMs
  335. auch nicht zu stark erwärmt werden, sonst werden sie zerstört. Fazit:
  336. Arbeiten Sie sorgfältig, nehmen Sie sich Zeit, um die RAMs immer wieder 
  337. abkühlen zu lassen und halten Sie Entlötlitze bereit, falls doch einmal ein
  338. Kurzschluß entstehen sollte. Kontrollieren Sie alle Lötstellen peinlich
  339. genau, und untersuchen Sie die Pins auf Kurzschlüsse. Danach können Sie auch
  340. die abgebogenen Pins mit den entsprechenden Widerständen der Schaltung
  341. verbinden. Vertauschen Sie die Verbindungen dabei nicht!  
  342.  
  343. So, jetzt ist der Umbau eigentlich beendet. Bootet der Amiga nach diesem
  344. letzten Schritt nicht mehr, so ist davon auszugehen, daß doch irgendwo
  345. zwischen den RAM-Bausteinen ein Kurzschluß entstanden ist. Oder Sie haben
  346. die RAMs zerbraten!
  347.  
  348. Steht der Schalter in Stellung 'Neu', so muß die Zeit zwischen dem Blinken
  349. der Power-LED nach dem Einschalten und dem Anlaufen der Laufwerke deutlich
  350. länger sein sollte als vorher, da jetzt doppelt soviel WOM-Speicher
  351. getestet werden muß. Nach der Hälfe der Zeit müssen beide LEDs (Power-LED
  352. und die neue) eingeschaltet werden. Geschieht all dies, so können Sie sich
  353. schon mal beruhigt gratulieren.
  354.  
  355.  
  356. Erstellen der neuen Kickstart-Diskette:
  357. ---------------------------------------
  358.  
  359. Um Kickstart 2.0 auf ihrem A1000 fahren zu können, brauchen Sie jetzt
  360. nur noch eine Kickstart-Diskette im neuen Format. Prinzipiell ist dies kein
  361. Problem. Auf Block 0 muß der Text 'f8-KICK' stehen. In den Blocks 1 bis
  362. einschließlich 1024 folgen dann die eigentlichen Kickstart-Daten, die 
  363. später ab Adresse $f80000-$ffffff abgelegt werden. Dabei wird auf Adresse
  364. $f80000 der Code $11144ef9 erwartet. Dies ist die, von Commodore festgelegte,
  365. Kennung für 512KByte Kickstarts. (D.h. in 2.0 ist dies automatisch der
  366. Fall). Außerdem muß die Checksumme über den gesamten Bereich den Wert
  367. $ffffffff (entspricht -1) haben.
  368.  
  369. Da auf der Kickstart 2.0 natürlich ein Copyright von Commodore liegt und
  370. zumindest im Moment auch nur mit den 3000'ern ausgeliefert wird, darf ich
  371. leider keine fertige Kickstart-Diskette für 2.0 zur Verfügung stellen. Sie
  372. brauchen also ein Kick 2.0, welches im Bereich ab $f80000 liegt und z.B.
  373. auf einem 2000'er oder 500'er läuft. Da es mittlerweile für die 2000'er und
  374. 500'er Kickstart-Umschaltplatinen gibt, die für 2.0 geeignet sind und somit
  375. auf vielen 2000'er und 500'er schon Kick 2.0 installiert ist, sollte dies
  376. aber kein unüberwindliches Problem sein. Sie brauchen auf einem solchen
  377. Rechner nur den Bereich von $f80000 - $fffffff auszulesen und
  378. abzuspeichern. Diese File hat dann eine Länge von genau 524288 Bytes. Mit
  379. einem entsprechenden Tool können sie das File auf die Blöcke 1 bis
  380. 1024 einer Diskette schreiben.
  381.  
  382. Damit die BootRoms nach einem RESET feststellen können, ob die Kickstart
  383. noch in Ordnung bzw. schon geladen ist, muß die Checksume den Wert
  384. $ffffffff haben. Stimmt dieser Wert nicht, so funktioniert zwar alles, da
  385. die Checksumme nach dem Einlesen einer Kickstart-Diskette nicht geprüft
  386. wird, aber nur bis zum nächsten RESET. Dann meckern die BootRoms nämlich die
  387. falsche Checksumme an und fordern zum Einlegen einer Kickstart-Diskette auf.   
  388.  
  389. Dieser Hinweis ist besonders wichtig, da die Checksumme beim 2000'er oder
  390. 500'er nicht geprüft wird und deshalb meist auch nicht stimmt. Was sollte
  391. das System beim Feststellen einer falschen Checksumme in den ROMs (bzw.
  392. Eproms) auch machen? 
  393.  
  394. Erstellen Sie aber ruhig zunächst eine Kickstart-Diskette mit evtl.
  395. falscher Checksumme. Mit dieser Anleitung stelle ich ein kleines Utilities 
  396. zur Verfügung, mit dem Sie die Checksumme der Kickstart automatisch anpassen
  397. können. Dieses Utilities schreibt dann auch den Wert 'f8-KICK' auf Block 0.
  398.  
  399. Außerdem müssen die RESET-Routinen des Kick 2.0 auf den A1000 angepasst
  400. werden, sonst startet der Amiga nach einem Guru nicht mehr selbststaendig,
  401. sondern es müßte mit dem Klammergriff nachgeholfen werden. Das Utilitie
  402. erledigt aber auch dies:
  403.  
  404. Legen Sie dazu die Kickstart-Diskette, auf die Sie auf die Blöcke 1 bis 1024 
  405. das Kick 2.0 kopiert haben, in ein Laufwerk DFX: und geben das
  406. Kommando: AdaptKick dfX: -r -h -c
  407. ein. AdaptKick liest dann die Kickstart-Diskette ein, adaptiert die
  408. RESET-Routinen, berechnet die Checksumme und schreibt schließlich noch den
  409. Header-Block auf die Disk.  
  410.  
  411.  
  412. Erstellen der neuen Kickstart-Diskette:
  413. ---------------------------------------
  414.  
  415. Um Kickstart 2.0 oder 2.1 auf ihrem A1000 fahren zu können, brauchen Sie jetzt
  416. nur noch eine Kickstart-Diskette im neuen Format. Prinzipiell ist dies kein
  417. Problem. Auf Block 0 muß der Text 'f8-KICK' stehen. In den Blocks 1 bis
  418. einschließlich 1024 folgen dann die eigentlichen Kickstart-Daten, die 
  419. später ab Adresse $f80000-$ffffff abgelegt werden. Dabei wird auf Adresse
  420. $f80000 der Code $11144ef9 erwartet. Dies ist die, von Commodore festgelegte,
  421. Kennung für 512KByte Kickstarts. (D.h. in 2.0 oder 2.1 ist dies automatisch der
  422. Fall). Die Checksumme über den gesamten Bereich muß den Wert
  423. $ffffffff (entspricht -1) haben.
  424.  
  425. Sie brauchen ein Kickstart 2.0 oder 2.1, welches im Bereich ab $f80000 liegt und 
  426. z.B. auf einem 2000'er oder 500'er läuffähig ist. Dazu kaufen sie sich das
  427. Umrüstkit 2.0 von Commodore. Dieses ROM, stecken Sie in einen
  428. 2000'er oder 500'er und lesen den Bereich von $f80000 - $fffffff aus und 
  429. speichern ihn abschließend ab. Das File hat dann eine Länge von genau 
  430. 524288 Bytes. Mit einem entsprechenden Tool (sihe unten) 
  431. können sie das File auf die Blöcke 1 bis 1024 einer Diskette schreiben.
  432.  
  433. Danach müssen Sie das zu dieser Bauanleitung gehörige Utilities
  434. Adaptkick starten, daß die Checksumme der Kickstart automatisch anpaßt und
  435. den Wert 'f8-KICK' auf Block 0 der Diskette schreibt.
  436.  
  437. Außerdem werden von Adaptkick die RESET-Routinen des Kick 2.0 oder 2.1
  438. auf den A1000 angepasst. Dies ist notwendig, da der Amiga sonst nach einem Guru 
  439. nicht mehr selbststaendig booten würde,
  440. sondern es müßte mit dem Klammergriff nachgeholfen werden.
  441. AdaptKick ist für die Kickstartversionen 37.59, 37.175 und 37.210 geeignet.
  442.  
  443. Legen Sie die Kickstart-Diskette, auf die Sie auf die Blöcke 1 bis 1024 
  444. das Kick 2.0 kopiert haben, z.B. in das Laufwerk DF0: und geben das
  445. Kommando: AdaptKick df0: -r -h -c
  446. ein. AdaptKick liest die Kickstart-Diskette ein, adaptiert die
  447. RESET-Routinen, berechnet die Checksumme neu und schreibt schließlich noch den
  448. Header-Block auf die Disk.  
  449.  
  450.  
  451. Noch einige Anmerkungen zum Schluß:
  452. -----------------------------------
  453.  
  454. Um die Kickstart von
  455. einem auf 2.0 umgerüsteten 500'er oder 2000'er auslesen zu können und
  456. mit diesem File dann eine Kickstart-Diskette erzeugen zu können, eignet
  457. sich das Programm 'TrackDos' von Nic Wilson. Dieses befindet sich auf der
  458. Fish-Disk 365 von Fred Fish.
  459. Den meisten 1000'er Besitzern ist wohl das Utilities ChangeKick bekannt,
  460. mit dem man eine Kickstart aus dem WOM werfen kann. Die neuen BootRoms
  461. machen ein neues ChangeKick notwendig. Dieses wird mit dieser Bauanleitung
  462. ebenfalls zur Verfügung gestellt.  
  463.  
  464. Referenzliste benutzter Chips auf dem Mainboard:
  465. ------------------------------------------------
  466.  
  467. Wie bereits oben erwäht, beziehen sich alle IC-Angaben auf den 1000'er mit
  468. integriertem WOM. Damit Sie die entsprechenden Lötpukte auch auf anderen
  469. 1000'ern finden, hier die Beschreibung der Chips:
  470.  
  471. Referenzliste benutzter Chips auf dem Mainboard:
  472. ------------------------------------------------
  473.  
  474. Wie bereits oben erwäht, beziehen sich alle IC-Angaben auf den 1000'er mit
  475. integriertem WOM. Damit Sie die entsprechenden Lötpukte auch auf anderen
  476. 1000'ern finden, hier die Beschreibung der Chips:
  477.  
  478. U6T: CIAA (8520), ist mit den Data-Leitungen des  Centronics-Port verbunden 
  479. U2H: F399, davon gibt es nur einen
  480. U1R: F139, auch hiervon gibt es nur einen
  481. U1H: F138, es gibt zwei Chips mit dieser Bezeichnung. Pin 4 ist bei beiden
  482.            aber gleich belegt.
  483. U2J, U1J: WOM-Speicherchips, Pin16 ist über 39 Ohm mit Pin 5 U1R verbunden.
  484. U2K, U1K: WOM-Speicherchips, Pin16 ist über 39 Ohm mit Pin 7 U1R verbunden.
  485. U2L, U1L: WOM-Speicherchips, Pin16 ist über 39 Ohm mit Pin 11 U1R verbunden.
  486. U2M, U1M: WOM-Speicherchips, Pin16 ist über 39 Ohm mit Pin 9 U1R verbunden.
  487. U5N: ROM 23256 (even)
  488. U5S: ROM 23256 (odd)
  489.  
  490. Die Informationen in der vorliegenden Bauanleitung habe ich ohne Rücksicht 
  491. auf einen eventuellen Patentschutz oder Copyright erstellt und sind nur für
  492. den privaten Gebrauch bestimmt. Warennamen werden ohne Gewährleistung der
  493. freien Verwendbarkeit benutzt. Ich bin beim Zusammenstellen der Anleitung 
  494. mit größter Sorgfalt vorgegangen. Trotzdem können Fehler nicht vollständig 
  495. ausgeschlossen werden. Ich kann für fehlerhafte Angaben und deren Folgen 
  496. weder eine juristische Verantwortung, noch irgendeine Haftung übernehmen. 
  497.  
  498.  
  499. Copyright (c) 1991 by Jörg Huth
  500.  
  501. Kaiserslautern, den 23.05.91
  502.  
  503.  
  504. Meine Adresse:
  505.  
  506. Jörg Huth
  507. Trippstadter Str. 121-1315
  508. W-6750 Kaiserslautern
  509. Tel: (0631) 13796 (Voice)
  510. E-Mail: J_Huth@JoKL.ZER
  511.     jhuth@scooter.informatik.uni-kl.de
  512.  
  513.  
  514.  
  515.